package com.ourteam.product.requirement.dao;

/**
 * Template Name : DAO数据对象
 * Template Version : 1
 * Template Last Modfiy Date : Fri Aug 18 15:51:23 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:18
  * Warning ! This file will be overwrite when regenerate !
  *
 */
import org.apache.commons.lang.StringUtils;


public class ProductVersionScopeRelate implements java.io.Serializable {
    private long id;

    /**
     * Attribute id Be Seted Falg
     */
    private boolean idSetted = false;

    /**
    * Attribute id is Null Falg
    */
    private boolean idNull = false;
    private long versionScopeId;

    /**
     * Attribute versionScopeId Be Seted Falg
     */
    private boolean versionScopeIdSetted = false;

    /**
    * Attribute versionScopeId is Null Falg
    */
    private boolean versionScopeIdNull = false;
    private String relateType;

    /**
     * Attribute relateType Be Seted Falg
     */
    private boolean relateTypeSetted = false;

    /**
    * Attribute relateType is Null Falg
    */
    private boolean relateTypeNull = false;
    private long relatedObjectId;

    /**
     * Attribute relatedObjectId Be Seted Falg
     */
    private boolean relatedObjectIdSetted = false;

    /**
    * Attribute relatedObjectId is Null Falg
    */
    private boolean relatedObjectIdNull = false;
    private String status;

    /**
     * Attribute status Be Seted Falg
     */
    private boolean statusSetted = false;

    /**
    * Attribute status is Null Falg
    */
    private boolean statusNull = false;
    private String remarks;

    /**
     * Attribute remarks Be Seted Falg
     */
    private boolean remarksSetted = false;

    /**
    * Attribute remarks is Null Falg
    */
    private boolean remarksNull = false;
    private String scopeName;

    /**
     * Attribute scopeName Be Seted Falg
     */
    private boolean scopeNameSetted = false;

    /**
    * Attribute scopeName is Null Falg
    */
    private boolean scopeNameNull = false;

    public ProductVersionScopeRelate() {
        super();
    }

    /**
         * Get id
         *
         * @return long
         */
    final public long getId() {
        return id;
    }

    /**
     * Set id
     *
     * @param long
     */
    final public void setId(long id) {
        this.id = id;

        this.idSetted = true;

        this.setIdNull(false);
    }

    /**
     * Get id Has Been Setted
     *
     * @return boolean
     */
    final public boolean isIdSetted() {
        return this.idSetted;
    }

    /**
     * Set id Null
     *
     */
    final public void setIdNull() {
        this.idNull = true;
    }

    final public void setIdNull(boolean aNullFlag) {
        this.idNull = aNullFlag;
    }

    final public boolean isIdNull() {
        return this.idNull;
    }

    /**
         * Get versionScopeId
         *
         * @return long
         */
    final public long getVersionScopeId() {
        return versionScopeId;
    }

    /**
     * Set versionScopeId
     *
     * @param long
     */
    final public void setVersionScopeId(long versionScopeId) {
        this.versionScopeId = versionScopeId;

        this.versionScopeIdSetted = true;

        this.setVersionScopeIdNull(false);
    }

    /**
     * Get versionScopeId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isVersionScopeIdSetted() {
        return this.versionScopeIdSetted;
    }

    /**
     * Set versionScopeId Null
     *
     */
    final public void setVersionScopeIdNull() {
        this.versionScopeIdNull = true;
    }

    final public void setVersionScopeIdNull(boolean aNullFlag) {
        this.versionScopeIdNull = aNullFlag;
    }

    final public boolean isVersionScopeIdNull() {
        return this.versionScopeIdNull;
    }

    /**
         * Get relateType
         *
         * @return String
         */
    final public String getRelateType() {
        if (isRelateTypeNull()) {
            return null;
        } else {
            return StringUtils.trim(relateType);
        }
    }

    /**
     * Set relateType
     *
     * @param String
     */
    final public void setRelateType(String relateType) {
        this.relateType = StringUtils.trim(relateType);

        this.relateTypeSetted = true;

        this.setRelateTypeNull(this.relateType == null);
    }

    /**
     * Get relateType Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRelateTypeSetted() {
        return this.relateTypeSetted;
    }

    /**
     * Set relateType Null
     *
     */
    final public void setRelateTypeNull() {
        this.relateTypeNull = true;
    }

    final public void setRelateTypeNull(boolean aNullFlag) {
        this.relateTypeNull = aNullFlag;
    }

    final public boolean isRelateTypeNull() {
        return this.relateTypeNull;
    }

    /**
         * Get relatedObjectId
         *
         * @return long
         */
    final public long getRelatedObjectId() {
        return relatedObjectId;
    }

    /**
     * Set relatedObjectId
     *
     * @param long
     */
    final public void setRelatedObjectId(long relatedObjectId) {
        this.relatedObjectId = relatedObjectId;

        this.relatedObjectIdSetted = true;

        this.setRelatedObjectIdNull(false);
    }

    /**
     * Get relatedObjectId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRelatedObjectIdSetted() {
        return this.relatedObjectIdSetted;
    }

    /**
     * Set relatedObjectId Null
     *
     */
    final public void setRelatedObjectIdNull() {
        this.relatedObjectIdNull = true;
    }

    final public void setRelatedObjectIdNull(boolean aNullFlag) {
        this.relatedObjectIdNull = aNullFlag;
    }

    final public boolean isRelatedObjectIdNull() {
        return this.relatedObjectIdNull;
    }

    /**
         * Get status
         *
         * @return String
         */
    final public String getStatus() {
        if (isStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(status);
        }
    }

    /**
     * Set status
     *
     * @param String
     */
    final public void setStatus(String status) {
        this.status = StringUtils.trim(status);

        this.statusSetted = true;

        this.setStatusNull(this.status == null);
    }

    /**
     * Get status Has Been Setted
     *
     * @return boolean
     */
    final public boolean isStatusSetted() {
        return this.statusSetted;
    }

    /**
     * Set status Null
     *
     */
    final public void setStatusNull() {
        this.statusNull = true;
    }

    final public void setStatusNull(boolean aNullFlag) {
        this.statusNull = aNullFlag;
    }

    final public boolean isStatusNull() {
        return this.statusNull;
    }

    /**
         * Get remarks
         *
         * @return String
         */
    final public String getRemarks() {
        if (isRemarksNull()) {
            return null;
        } else {
            return StringUtils.trim(remarks);
        }
    }

    /**
     * Set remarks
     *
     * @param String
     */
    final public void setRemarks(String remarks) {
        this.remarks = StringUtils.trim(remarks);

        this.remarksSetted = true;

        this.setRemarksNull(this.remarks == null);
    }

    /**
     * Get remarks Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRemarksSetted() {
        return this.remarksSetted;
    }

    /**
     * Set remarks Null
     *
     */
    final public void setRemarksNull() {
        this.remarksNull = true;
    }

    final public void setRemarksNull(boolean aNullFlag) {
        this.remarksNull = aNullFlag;
    }

    final public boolean isRemarksNull() {
        return this.remarksNull;
    }

    /**
         * Get scopeName
         *
         * @return String
         */
    final public String getScopeName() {
        if (isScopeNameNull()) {
            return null;
        } else {
            return StringUtils.trim(scopeName);
        }
    }

    /**
     * Set scopeName
     *
     * @param String
     */
    final public void setScopeName(String scopeName) {
        this.scopeName = StringUtils.trim(scopeName);

        this.scopeNameSetted = true;

        this.setScopeNameNull(this.scopeName == null);
    }

    /**
     * Get scopeName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isScopeNameSetted() {
        return this.scopeNameSetted;
    }

    /**
     * Set scopeName Null
     *
     */
    final public void setScopeNameNull() {
        this.scopeNameNull = true;
    }

    final public void setScopeNameNull(boolean aNullFlag) {
        this.scopeNameNull = aNullFlag;
    }

    final public boolean isScopeNameNull() {
        return this.scopeNameNull;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;

        result = (prime * result) + (int) (getId() ^ (getId() >>> 32));

        return result;
    }

    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }

        if ((obj instanceof ProductVersionScopeRelate) == false) {
            return false;
        }

        ProductVersionScopeRelate other = (ProductVersionScopeRelate) obj;

        if (getId() != other.getId()) {
            return false;
        }

        return true;
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();

        buffer.append("[");

        buffer.append("id=");
        buffer.append(this.id);

        buffer.append("versionScopeId=");
        buffer.append(this.versionScopeId);

        buffer.append("relateType=");
        buffer.append(this.relateType);

        buffer.append("relatedObjectId=");
        buffer.append(this.relatedObjectId);

        buffer.append("status=");
        buffer.append(this.status);

        buffer.append("remarks=");
        buffer.append(this.remarks);

        buffer.append("scopeName=");
        buffer.append(this.scopeName);

        buffer.append("]");

        return buffer.toString();
    }
}
